package com.hyw.cm.common.protocal.spi;

/**
 * 抽象一个内存对象到字节流的编码器，其被调用逻辑为：
 * <p>
 * isSupport--(if true)-->create
 * 
 * @author Hongyu
 */
public interface IEncoder<T> {

  default String getName() {
    return this.getClass().getSimpleName();
  }

  public boolean isSupport(IMessage msg);

  /**
   * 编码处理器
   * 
   * @return
   */
  public T create();
}
